| Materia prima | Costo $/kg | Azúcares % | Grasas % | Proteínas % | Inertes % |
|---|---|---|---|---|---|
| A | 2.35 | 12 | 10 | 60 | 18 |
| B | 2 | 10 | 10 | 50 | 30 |
| C | 1.7 | 8 | 6 | 44 | 42 |
Módulo I (30%)
- Parcial (25%)
- Actividades en clase (5%)
Módulo II (20%)
- Parcial (15%)
- Actividades en clase (5%)
Módulo III (20%)
- Parcial (15%)
- Actividades en clase (5%)
Actividades Complementarias e integradoras (30%)
- Lectura (5%)
- Dashboard OEE (15%)
- Taller de optimización en AMPL (10%)
Qlik
Sense
La investigación de operaciones es la rama de las matemáticas que aporta herramientas para la toma de decisiones, específicamente problemas de asignación de recursos escasos. Esto a su vez, buscando la eficiencia y eficacia en el uso de dichos recursos.
Un expendio naturista prepara sus alimentos y los vende al público basándose en tres materias primas, cuyos contenidos se presentan enseguida:
| Materia prima | Costo $/kg | Azúcares % | Grasas % | Proteínas % | Inertes % |
|---|---|---|---|---|---|
| A | 2.35 | 12 | 10 | 60 | 18 |
| B | 2 | 10 | 10 | 50 | 30 |
| C | 1.7 | 8 | 6 | 44 | 42 |
¿Cuánto deberían mezclar de cada una de las tres si se desea minimizar el costo para preparar 1kg de alimento, cuyo contenido de azúcar no sea menor a 10%, su contenido de grasa no mayor a 9.5% y su contenido de proteínas no menor de 52%?
\(\begin{align*} \text{min } Z(X) &= 2.35X_{A} + 2X_{B} + 1.7X_{C} \\ \\ \text{s.a:} \\ 0.12X_{A} + 0.10X_{B} + 0.08X_{C} &\geq 0.1 ~\text{(Contenido de azúcar)} \\ 0.1X_{A} + 0.1X_{B} + 0.06X_{C} &\leq 0.095 ~\text{(Contenido de grasa)} \\ 0.6X_{A} + 0.5X_{B} + 0.44X_{C} &\geq 0.52 ~\text{(Contenido de proteínas)} \\ X_{A} + X_{B} + X_{C} &= 1 ~\text{(Cantidad requerida)} \\ X_{A}, X_{B}, X_{C} &\geq 0 ~\text{(No negatividad)} \\ \\ \text{Donde:} \\ X_{A} &= \text{Cantidad a usar de la materia prima A} \\ X_{B} &= \text{Cantidad a usar de la materia prima B} \\ X_{C} &= \text{Cantidad a usar de la materia prima C} \end{align*}\)
\(\begin{align*} \text{min } Z(X) &= \sum_{i \in N} Costo_{i} \ast X_{i} \\ \\ \text{s.a:} \\ \sum_{i \in N}{} Azucar_{i} \ast X_{i} &\geq minimo_{Azucar} ~\text{(Contenido de azúcar)} \\ \sum_{i \in N}{} Grasa_{i} \ast X_{i} &\leq maximo_{Grasa} ~\text{(Contenido de grasa)} \\ \sum_{i \in N}{} Proteinas_{i} \ast X_{i} &\geq minimo_{Proteinas} ~\text{(Contenido de proteínas)} \\ \sum_{i \in N}{} X_{i} &= 1 ~\text{(Cantidad requerida)} \\ X_{i} &\geq 0 ~\text{(No negatividad)} \\ \\ \text{Donde:} \\ X_{i} &= \text{Cantidad a usar de la materia prima i} \\ N &= \{A, B, C\} \end{align*}\)
reset; # Elimina las variables, parametros y soluciones previas
model; # Indica el inicio del modelo
# Variables
var X_A >=0; # Cantidad de la materia prima A
var X_B >=0; # Cantidad de la materia prima B
var X_C >=0; # Cantidad de la materia prima C
# Funcion objetivo
minimize Z: 2.35*X_A + 2*X_B + 1.7*X_C;
# Restricciones
s.t. Contenido_Azucar:
0.12*X_A + 0.1*X_B + 0.08*X_C >= 0.1;
s.t. Contenido_Grasa:
0.1*X_A + 0.1*X_B + 0.06*X_C <= 0.095;
s.t. Contenido_Proteinas:
0.6*X_A + 0.5*X_B + 0.44*X_C >= 0.52;
s.t. Cantidad_Requerida:
X_A + X_B + X_C = 1;
# Opciones del solver
option solver highs;
solve;
display Z, X_A, X_B, X_C;reset; # Elimina las variables, parametros y soluciones previas
model; # Indica el inicio del modelo
# Conjuntos
set N; # Conjunto de materias primas
# Parametros
param Costo{N} >=0; # Costo de cada materia prima
param Azucar{N} >=0; # Aporte de azucar de cada mp
param Grasa{N} >=0; # Aporte de grasa de cada mp
param Proteinas{N} >=0; # Aporte de proteinas de cada mp
param minimo_azucar >=0;
param maximo_grasa >=0;
param minimo_proteinas >=0;
# Variables
var X{N} >=0; # Cantidad a usar de cada materia prima
# Funcion objetivo
maximize Z:
sum{i in N} Costo[i]*X[i];
# Restricciones
s.t. Contenido_Azucar:
sum{i in N} Azucar[i]*X[i] >= minimo_azucar;
s.t. Contenido_Grasa:
sum{i in N} Grasa[i]*X[i] <= maximo_grasa;
s.t. Contenido_Proteinas:
sum{i in N} Proteinas[i]*X[i] >= minimo_proteinas;
s.t. Cantidad_Requerida:
sum{i in N} X[i] = 1;
# Datos
data AMPL_ejemplo1.dat; # Indica de dónde extraer los datos
# Opciones del solver
option solver highs;
expand; # Expande el modelo, sirve para validar
solve;
display Z, X;Notación expandida
Notación compacta
En preparación para la temporada invernal, una compañía fabricante de ropa está manufacturando abrigos de piel con capucha y chamarras con relleno de plumas de ganso, pantalones con aislamiento y guantes. Todos los productos se elaboran en cuatro departamentos diferentes: corte, aislamiento, costura y empaque.
La compañía recibió pedidos en firme de sus productos, el contrato estipula una penalización por los artículos no surtidos. Elabore un plan de producción óptimo para la compañía, con base en los siguientes datos:
| Departamento | Chamarras | Relleno de plumas | Pantalones | Guantes | Capacidad (hr) |
|---|---|---|---|---|---|
| Corte | 0.3 | 0.3 | 0.25 | 0.15 | 1000 |
| Aislamiento | 0.25 | 0.35 | 0.3 | 0.1 | 1000 |
| Costura | 0.45 | 0.5 | 0.4 | 0.22 | 1000 |
| Empaque | 0.15 | 0.15 | 0.1 | 0.05 | 1000 |
| Demanda | 800 | 750 | 600 | 500 | - |
| Utilidad ($/uni) | 30 | 40 | 20 | 10 | - |
| Penalización por unidad ($/uni) | 15 | 20 | 10 | 8 | - |
¿Cuánto deberían mezclar de cada una de las tres si se desea minimizar el costo para preparar 1kg de alimento, cuyo contenido de azúcar no sea menor a 10%, su contenido de grasa no mayor a 9.5% y su contenido de proteínas no menor de 52%?
\(\begin{align*} \text{max } Z(X) &= 30X_{1} + 40X_{2} + 20X_{3} + 10X_{4} \\ &\text{...} - 15\max\{800-X_{1},0\} \\ &\text{...} - 20\max\{750-X_{2},0\} \\ &\text{...} - 10\max\{600-X_{3},0\} \\ &\text{...} - 8\max\{500-X_{4},0\} \\ \text{s.a:} \\ 0.3X_{1} + 0.3X_{2} + 0.25X_{3} + 0.15X_{4} &\leq 1000 ~\text{(Corte)} \\ 0.25X_{1} + 0.35X_{2} + 0.3X_{3} + 0.1X_{4} &\leq 1000 ~\text{(Aislamiento)} \\ 0.45X_{1} + 0.5X_{2} + 0.4X_{3} + 0.22X_{4} &\leq 1000 ~\text{(Costura)} \\ 0.15X_{1} + 0.15X_{2} + 0.1X_{3} + 0.05X_{4} &\leq 1000 ~\text{(Empaque)} \\ X_{1} &\leq 800 ~\text{(Demanda de chamarras)} \\ X_{2} &\leq 750 ~\text{(Demanda de relleno de plumas)} \\ X_{3} &\leq 600 ~\text{(Demanda de pantalones)} \\ X_{4} &\leq 500 ~\text{(Demanda de guantes)} \\ X_{1}, X_{2}, X_{3}, X_{4} &\geq 0 ~\text{(No negatividad)} \\ \\ \text{Donde:} \\ X_{1} &= \text{Cantidad a fabricar de chamarras} \\ X_{2} &= \text{Cantidad a fabricar de relleno de plumas} \\ X_{3} &= \text{Cantidad a fabricar de pantalones} \\ X_{4} &= \text{Cantidad a fabricar de guantes} \end{align*}\)
\(\begin{align*} \text{max } Z(X) &= \sum_{i = 1}^{M} (Utilidad_{i} \ast X_{i} \\ &\text{...} - Penalidad_{i} \ast \max\{Demanda_{i}-X_{i},0\}) \\ \text{s.a:} \\ \sum_{i = 1}^{M} Corte_{i} \ast X_{i} &\leq TiempoDisponible_{Corte} ~\text{(Corte)} \\ \sum_{i = 1}^{M} Aislamiento_{i} \ast X_{i} &\leq TiempoDisponible_{Aislamiento} ~\text{(Aislamiento)} \\ \sum_{i = 1}^{M} Costura_{i} \ast X_{i} &\leq TiempoDisponible_{Costura} ~\text{(Costura)} \\ \sum_{i = 1}^{M} Empaque_{i} \ast X_{i} &\leq TiempoDisponible_{Empaque} ~\text{(Empaque)} \\ X_{i} &\leq Demanda_{i} ~\forall ~i \in M ~\text{(Demanda de i)} \\ X_{i} &\geq 0 ~\forall ~i \in M ~\text{(No negatividad)} \\ \\ \text{Donde:} \\ X_{i} &= \text{Cantidad a fabricar del producto i} \end{align*}\)
reset; # Elimina las variables, parametros y soluciones previas
model; # Indica el inicio del modelo
# Conjuntos
set Productos; # Conjunto de productos
# Parametros
# Variables
var X{Productos} >=0; # Cantidad a fabricar de cada producto
# Funcion objetivo
# Restricciones
# Datos
data AMPL_ejemplo2.dat; # Indica de dónde extraer los datos
# Opciones del solver
option solver highs;
expand; # Expande el modelo, sirve para validar
solve;
display Z, X;Big Text
Big Text
Big Text
Big Text
Big Text
Big Text
Big Text
Big Text
Big Text
Big Text
Big Text
Big Text
Big Text
Producción I | Facultad de Ciencias Empresariales